1. Field of the Invention
The present invention relates generally to the transmission of data in cable television network systems. More specifically, the present invention relates to methods and apparatuses for rapidly determining whether a link in a network system utilizing cable modems is operational regardless of a modem""s registration status.
2. Discussion of Related Art
Since the late 1980""s the cable TV industry has been upgrading its signal distribution and transmission infrastructure. In many cable television markets, the infrastructure and topology of cable systems now include fiber optics as part of its signal transmission component. The use of fiber optics has accelerated the pace at which the cable industry has taken advantage of the inherent two-way communication capability of cable systems. The cable industry is now poised to develop reliable and efficient two-way transmission of digital data over its cable lines at speeds orders of magnitude faster than those available through telephone lines, thereby allowing its subscribers to access digital data for uses ranging from Internet access to cable commuting. While cable TV systems have always had the ability to send data downstream, i.e. from a cable TV hub, described below, to cable modems in people""s homes, cable TV systems can now send data upstream, i.e. from individual cable modems to a hub. This new upstream data transmission capability enabled cable companies to use set-top cable boxes and provided subscribers with xe2x80x9cpay-per-viewxe2x80x9d functionality, i.e. a service allowing subscribers to send a signal to the cable system indicating that they want to see a certain program.
FIG. 1 is a block diagram of a two-way hybrid fiber-coaxial (HFC) cable system including cable modems and a network management station. The main distribution component of an HFC cable system is a primary (or secondary) hub 102 (also referred to as a xe2x80x9cheadendxe2x80x9d) which can typically service about 40,000 subscribers or end-users. Hub 102 contains several components of which two, relevant to this discussion, are shown in FIG. 1. One component is a cable modem termination system or, CMTS, 104 needed when transmitting data (sending it downstream to users) and receiving data (receiving upstream data originating from users) using cable modems, shown as boxes 106, 108, 110, and 112. Another component is a fiber transceiver 114 used to convert electrical signals to optical signals for transmission over a fiber optic cable 116. Fiber optic cable 116 can typically run for as long as 100 km and is used to carry data (in one direction) for most of the distance between hub 102 to a neighborhood cable TV plant 117. More specifically, fiber optic cable 116 is a pair of cablesxe2x80x94each one carrying data in one direction. When the data reaches a particular neighborhood cable TV plant 117, a fiber node 118 converts the data so that it can be transmitted as electrical signals over a conventional coaxial cable 120, also referred to as a trunk line. Hub 102 can typically support up to 80 fiber nodes and each fiber node can support up to 500 or more subscribers. Thus, there are normally multiple fiber optic cables emanating from hub 102 to an equal number of fiber nodes. In addition, the number of subscribers as well as fiber capacity is currently increasing due to dense wave-division multiplexing technology. DWDM is a technique for transmitting on more than one wavelength of light on the same fiber.
The primary functions of CMTS 104 are (1) interfacing to a two-way data communications network; (2) providing appropriate media access control or MAC level packet headers (described below) for data on the RF interface of a cable system; and (3) modulating and demodulating the data to and from the cable system.
Cable TV (CTV) taps 122 and 124 are used to distribute a data signal to individual cable modems 106 and 110 (from CTV tap 124) and modems 108 and 112 (from CTV tap 122). Two-way cable TV amplifiers 126 and 128 are used to amplify signals as they are carried over coaxial cable 120. Data can be received by the cable modems shown (each CTV tap can have output cables servicing multiple cable modems) and transmitted back to hub 102. In cable systems, digital data is carried over radio frequency (RF) carrier signals. Cable modems are devices that employ modulation for transmission on a broadband media and demodulation to recover digital data from a modulated RF carrier which it receives. This modulation/demodulation is done at two points: by a cable modem at the subscriber""s home and by CMTS 104 located at hub 102. If CMTS 104 receives digital data, for example from the Internet, it converts the digital data to a modulated RF signal which is carried over the fiber and coaxial lines to the subscriber premises. A cable modem then demodulates the RF signal and feeds the digital data to a computer (not shown). On the return path, the operations are reversed. The digital data is fed to the cable modem which converts it to a modulated RF signal. Once CMTS 104 receives the RF signal, it demodulates it and transmits the digital data to an external source.
Data packets are addressed to specific modems or to a hub (if sent upstream) by a MAC layer 130 in CMTS 104 at hub 102 (there is also a MAC addressing component, not shown, in the cable modems that encapsulate data with a header containing the address of the hub when data is being sent upstream). CMTS 104 has a physical layer 132 that is partly responsible for keeping a list of modem addresses and encapsulating data with appropriate address of its destination. MAC layer 130 receives data packets from a Data Network Interface (not shown) in hub 102. The main purpose of MAC layer 130 is to encapsulate a data packet within a MAC header according to the DOCSIS standard for transmission of data. DOCSIS is an interim standard establishing the protocol for two-way communication of digital data on cable systems defined and adopted by a consortium of industry groups, and is well known in the field of cable modem data communication. MAC layer 130 contains the necessary logic to encapsulate data with the appropriate MAC addresses of the cable modems on the system. Each cable modem on the system has its own MAC address.
Whenever a new cable modem is installed, its address must be registered with MAC layer 130. The MAC address is necessary to distinguish data going from the cable modems since all modems share a common upstream path, and so that CMTS 104 knows where to send data. Thus, data packets, regardless of format, must be mapped to a particular MAC address. MAC layer 130 is also responsible for sending out polling messages as part of the link protocol between the CMTS and the cable modems that is necessary to maintain a communication connection between the two. In addition, cable modems transmit range request (RNG-REQ) messages to the headend as part of the link protocol between the CMTS and the cable modems.
In conventional cable television network systems, polling messages used as part of the link protocol between the CMTS and the cable modems necessary to maintain a communication connection between the two are sent between Network layers of the CMTS and the CABLE MODEM. That is, polling is conducted as a Network (or IP) layer protocol, for example the ICMP echo protocol utilizing an ICMP ping process. In order for the CMTS to communicate with a cable modem at the Network level, the modem""s IP address must be known. IP addresses are assigned to cable modems as part of a registration process, typically performed when a cable TV subscriber opens an account. This has the disadvantage that polling communication between a CMTS and a cable modem may not be possible before a cable modem is registered. Thus, the integrity of a cable network system may not be determined unless all of its cable modems have been registered.
Further, conventional Network layer polling protocols are typically limited to a regular transmission schedule. This is due to the fact that time division multiplexing (TDM) is used in upstream communication between cable modems and the CMTS in a cable system. The CMTS provides a time slot map for TDM to the cable modems. One slot in the TDM is a xe2x80x9cstation maintenancexe2x80x9d time slot (SMTS). Each cable modem receives at least one SMTS every 30 seconds. When a cable modem receives a SMTS it must transmit a RNG-REQ message which is used by the CMTS in order to determine if the cable modem is operational and to maintain the link to that cable modem. If the cable modem does not respond to the SMTS after 16 tries the cable modem is assumed to be off. This arrangement limits the timing of feedback that may be obtained from cable modems in a cable system. Another restriction in the protocol is that the cable modem must receive an opportunity to transmit on the upstream within 30 seconds otherwise the modem itself disconnects. Generally, the same constraints of TDM apply to the ping DOCSIS protocol utilized for communication between the CMTS MAC layer and the cable modem MAC layer.
Because of the increasing usefulness of cable modems for transmitting data over existing cable TV systems, cable modems are proliferating. As they become more prevalent, the burden of maintaining a cable TV plant having a network of cable modems increases. Specifically, the problem of tracking down and isolating a problematic device or group of devices has become increasingly difficult.
Therefore, it would be desirable for a CMTS to be able to poll cable modems in a cable TV network system by issuing a network command at any time in order to determine whether a link in a network system utilizing cable modems is operational, regardless of the registration status of or the state of software in the modems in the network. It would further be desirable if the polling protocol were able to provide information regarding the nature and location of any problems that prevent polling communication between a CMTS and a cable modem.
According to the present invention, methods, apparatus, and computer program products are disclosed for evaluating a communication link between a cable modem termination system and a cable modem. In one aspect of the invention, a method of examining connectivity status between a cable modem termination system (CMTS) and one or more cable modems is described. A network command is received from a network operator causing the CMTS to place a service identifier (SID) corresponding to a cable modem in possible need of diagnosing into a poll list. The service identifier is placed in the poll list the number of times specified in the network command as the number of polls desired for the test. This causes the cable modem to receive a map message with a periodic ranging time slot for itself the specified number of times. Periodic ranging is performed between the CMTS and the cable modem associated with the service identifier. If it is determined that the service identifier is in the poll list as a result of the network command, results are then evaluated from the periodic ranging. It is then determined whether the cable modem should remain on the poll list based on results from the periodic ranging.
In one embodiment, the network command entered is a ping DOCSIS command that specifies a particular number of polls to be taken between the CMTS and a cable modem. In another embodiment, the network command forces the entry of the cable modem into a poll list which is normally caused based on the expiration of a periodic timer. In another embodiment, it is determined whether the CMTS has received a polling message, such as a range request, from the cable modem and, if so, whether any modem parameter adjustments are needed. In yet another embodiment, a failure is reported to a network operator if the CMTS has not received the polling message from the cable modem and reporting a success if it has. In yet another embodiment, whether a cable modem identifier is in the poll list as a result of a network command is determined by checking a ping pending list that contains only those identifiers associated with a network command, the network command being a ping DOCSIS command.
In another aspect of the invention a method of checking on demand the quality of a communication link between a cable modem and a cable modem termination system, or CMTS, in the headend using MAC layer functionality is described. A ping command specifying a cable modem to be diagnosed is entered by a network operator and accepted by the CMTS. It is not required that the cable modem have an assigned IP address. It is then determined whether the cable modem is on a poll list as a result of the ping command or from normal periodic ranging, such as from the expiration of a periodic timer. Results from the ping command are evaluated and it is determined whether parameter adjustments for the cable modem upstream transmitter are needed or whether the modem should be taken offline. The ping command is executed using primarily MAC layer functionality.
In one embodiment it is determined whether the CMTS has received a range request from the cable modem. If the range request is satisfactory to the CMTS, a range response is transmitted to the cable modem and a poll success is reported. If the range request is unsatisfactory to the CMTS, a poll failure is reported. In another embodiment, an executed polls counter maintained for each modem being tested is incremented each time the cable modem is put on the poll list thereby forcing periodic maintenance by the CMTS. The cable modem is inserted into the poll list once the ping DOCSIS command is accepted by the CMTS.
In yet another aspect of the invention a cable modem termination system (CMTS) configured to perform initial and periodic ranging with a network of cable modems, and capable of accepting a forced periodic ranging command is described. The CMTS contains a poll list or cable modem table for storing a list of cable modem service identifiers, known as SIDs, wherein a SID is inserted into the poll list through either the expiration of a periodic ranging timer or through the issuance of a ping command that forces the periodic ranging of the cable modem specified in the ping command. The CMTS also contains a list of cable modems (SIDs) for which a poll or xe2x80x9cpingxe2x80x9d is pending. Thus, each SID in this ping pending list is associated with a particular ping command. The CMTS also maintains an executed polls counter associated with a particular cable modem for keeping track of the number of times the modem associated with a ping command, which typically specifies the number of polls desired, is placed in the poll list.